package br.edu.unilasalle.simon_api.domain;

// Generated 08/03/2014 18:19:52 by Hibernate Tools 4.0.0

import java.util.HashSet;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import org.codehaus.jackson.annotate.JsonIgnoreProperties;

/**
 * Bairro generated by hbm2java
 */
@Entity
@Table(name = "bairro", catalog = "simon")
@JsonIgnoreProperties(value = { "handler", "hibernateLazyInitializer", "enderecos" })
public class Bairro extends BaseEntity<Long> {

	private static final long serialVersionUID = -7652015164600326292L;
	
	@Id
	@Column(name = "id", unique = true, nullable = false, insertable = false, updatable = false)
	private Long id;
	
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "id_cidade", nullable = false)
	private Cidade cidade;
	
	@Column(name = "nome", nullable = false, length = 100)
	private String nome;
	
	@Column(name = "uf", nullable = false, length = 2)
	private String uf;
	
	@OneToMany(fetch = FetchType.LAZY, mappedBy = "bairro")
	private Set<Endereco> enderecos = new HashSet<Endereco>(0);

	public Bairro() {
	}

	public Bairro(Long id, Cidade cidade, String nome, String uf) {
		this.id = id;
		this.cidade = cidade;
		this.nome = nome;
		this.uf = uf;
	}

	public Bairro(Long id, Cidade cidade, String nome, String uf,
			Set<Endereco> enderecos) {
		this.id = id;
		this.cidade = cidade;
		this.nome = nome;
		this.uf = uf;
		this.enderecos = enderecos;
	}

	public Long getId() {
		return this.id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Cidade getCidade() {
		return this.cidade;
	}

	public void setCidade(Cidade cidade) {
		this.cidade = cidade;
	}

	public String getNome() {
		return this.nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getUf() {
		return this.uf;
	}

	public void setUf(String uf) {
		this.uf = uf;
	}

	public Set<Endereco> getEnderecos() {
		return this.enderecos;
	}

	public void setEnderecos(Set<Endereco> enderecos) {
		this.enderecos = enderecos;
	}

}
